1. Field of the Invention
The present invention relates to an image processing apparatus, an image processing method, a program, and a storage medium, which are for performing high-speed image processing onto image data.
2. Description of the Related Art
A multifunctional peripheral having the functions of a copier, a printer, and the like, executes image processes such as color conversion and gradation processing of image data, to perform printing. In accordance with the development of high-speed and high-resolution multifunctional peripherals, it is necessary for image processing units of such multifunctional peripherals to perform high-speed processing of large volumes of image data.
As a technique for performing high-speed image processing, there is a technique of achieving high-speed image processing such that a plurality of image processing units are provided in a multifunctional peripheral to perform image processings in parallel.
In such a case, a multifunctional peripheral has a plurality of image processors to segment image data into blocks. Then, the multifunctional peripheral determines attributes of image data in the respective blocks of the image data and processing loads of image processes corresponding to the attributes, and performs grouping of the respective blocks into a number of image processors so as to even up its total loading.
With respect to the respective image processors of the multifunctional peripheral, an image processing flow including only image processing algorithms necessary for the image data in the respective blocks allocated by grouping is loaded into each image processor. Then, the image data in the respective blocks are supplied to each image processor, and image processes are executed on the image data in parallel, which enables to perform high-speed image processing (for example, Japanese Patent Laid-Open No. 2007-81795).
However, the number of image processors retained by the multifunctional peripheral is fixed, and a single image processing flow is allowed to be loaded into one image processor. Therefore, there is a problem that image processes to be executed on blocked image data cannot be performed in parallel over the number of image processors.
Further, the image processes have a large number of functions in order to correspond to various drawing modes, and in order to perform all the functions of the image processes, it is necessary for the multifunctional peripheral to have a high-capacity image processing area and a use memory. Therefore, assuming that many drawing modes exist in the image data in the respective blocks allocated by grouping, it is necessary for each image processor to save the maximum image processing area and memory which are necessary for its image processes. Therefore, in image processing in a simple drawing mode, an unused image processing area and memory are brought about, which is wasteful. Moreover, there is a problem that an enormous image processing area and memory are required in order to perform many image processes in parallel.
In order to solve such problems, an object of the present invention is to provide devices for constructing all image processing flows necessary for image processes on image data in the respective blocks and the maximum number of image processing flows in accordance with a capacity of an image processing area in an image processing area.